ofstream << 重载

来源:百度知道 编辑:UC知道 时间:2024/07/02 19:35:51
class linkman{

friend ofstream& operator<<(ofstream& ,linkman* );
......................
}

ofstream& operator<<(ofstream& input,linkman* p)
{
input<< p->get_name()<<','<<p->get_phone_number()<<endl;
return input;
};

编译出错1>main.obj : error LNK2005: "class std::basic_ofstream<char,struct std::char_traits<char> > & __cdecl operator<<(class std::basic_ofstream<char,struct std::char_traits<char> > &,class linkman *)" (??6@YAAAV?$basic_ofstream@DU?$char_traits@D@std@@@std@@AAV01@PAVlinkman@@@Z) 已经在 linkman.obj 中定义

用的是vs2008

不用friend也可以吧。

//*.h
ofstream& operator<<(ofstream& input,linkman* p)

//.cpp
ofstream& operator<<(ofstream& input,linkman* p)
{
input<< p->get_name()<<','<<p->get_phone_number()<<endl;
return input;
};

friend ofstream& operator<<(ofstream& , linkman& );
friend ofstream& operator<<(ofstream& output, linkman& p)